package com.autumn.demo.scheduler;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.http.HttpStatus;

import com.autumn.dubbo.spring.boot.annotation.EnableDubboConfiguration;
import com.autumn.mq.rabbit.annotation.AutumnRabbitConnection;
import com.autumn.mq.rabbit.annotation.EnableAutumnRabbit;
import com.autumn.spring.boot.properties.PropertiesConstant;
import com.autumn.swagger.EnableAutumnSwagger;
import com.autumn.web.EnableAutumnApiResponseBody;
import com.autumn.web.security.AbstractAutumnSecurityApplication;

/**
 * 
 * @author 老码农
 *
 *         2018-03-27 11:30:04
 */
@ComponentScan({ "com.autumn.demo.scheduler" }) // bean组件扫描范围
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@EnableDubboConfiguration
@EnableAutumnSwagger(basePackages = { "com.autumn.demo.scheduler.controllers" })
@EnableAutumnApiResponseBody(errorResponseStatus = { HttpStatus.NOT_FOUND }, apiControllerPackages = {
		"com.autumn.demo.scheduler.controllers" })
@EnableAutumnRabbit(value = { @AutumnRabbitConnection(eventDataPackages = { "" }, eventHandlerPackages = {
		"com.autumn.demo.scheduler.queue" }, propertiesPrefix = PropertiesConstant.AUTUMN_MESSAGE_RABBIT_MQ_PROPERTIES_PREFIX) })
public class SchedulerClientDemoAppliation extends AbstractAutumnSecurityApplication {

	/**
	 * 
	 * @param args
	 *
	 */
	public static void main(String[] args) {
		run(SchedulerClientDemoAppliation.class, args);
	}
}
